function modify_cart(product_id, action, qte){
	
    if(qte == "custom_qte")
    {
        qte = document.getElementById('det_qte').value.trim();
    }

    var xhr = new XMLHttpRequest(); 

	// On défini ce qu'on va faire quand on aura la réponse
    xhr.onreadystatechange = function () {

        // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
        if (xhr.readyState == 4 && xhr.status == 200) {

            rep = xhr.responseText;
            // On se sert de innerHTML pour rajouter les options a la liste
            document.getElementById('desc_caddie').innerHTML = rep + " produit(s)";

            var popup = document.getElementById('cart_popup');
            popup.className = "cart_popup visible";

            var popup_content = document.getElementById('popup_content');
            popup_content.style.top = pageYOffset;
            popup_content.className = "popup_content visible";
        }
    }
 
	
	xhr.open("POST","classes/cart_utils.php",true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

	// Ajout des arguments
    xhr.send("product_id="+product_id+"&action="+action+"&qte="+qte);
}

function close_cart_popup(){

            var popup = document.getElementById('cart_popup');
            popup.className = "cart_popup nonvisible";

            var popup_content = document.getElementById('popup_content');
            popup_content.className = "popup_content nonvisible";
}

// Fonction appelé pour incrémenter de 1 la quantité d'un produit dans le panier
function add_qte_product(product_id, prixU){
	
    var xhr = new XMLHttpRequest(); 

	// On défini ce qu'on va faire quand on aura la réponse
    xhr.onreadystatechange = function () {

        // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
        if (xhr.readyState == 4 && xhr.status == 200) {

            rep = xhr.responseText;
			var res = rep.split(":");
			
			var NewQte = parseInt(res[0]);
			var NewTotal = roundDecimal(parseFloat(res[1]), 3);
			var NewTotalWithFrais = roundDecimal(parseFloat(res[2]), 3);
			
			var NewPrixTotalProduit = roundDecimal(NewQte * prixU, 3);
			
            // On récupére la nouvelle qte du produit pour l'afficher
			var elemQte = "qte_" + product_id;
			document.getElementById(elemQte).value = NewQte;
			
			// Rafraichissement TOTAL de la ligne PRODUIT
			var elemTotal = "total_" + product_id;
			document.getElementById(elemTotal).innerHTML = NewPrixTotalProduit + " €";
			
			document.getElementById("totalTTCPanier").innerHTML = NewTotal;
			document.getElementById("totalFraisPortPanier").innerHTML = roundDecimal(NewTotalWithFrais - NewTotal, 3);
			document.getElementById("totalTTCALL").innerHTML = NewTotalWithFrais;
        }
    }
 
	
	xhr.open("POST","classes/panier_qte_utils.php",true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

	// Ajout des arguments
    xhr.send("product_id="+product_id+"&action=INC");
}

// Fonction appelé pour décrémenter de 1 la quantité d'un produit dans le panier
function remove_qte_product(product_id, prixU){
	
    var xhr = new XMLHttpRequest(); 

	// On défini ce qu'on va faire quand on aura la réponse
    xhr.onreadystatechange = function () {

        // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
        if (xhr.readyState == 4 && xhr.status == 200) {

            rep = xhr.responseText;
			var res = rep.split(":");
			
			var NewQte = parseInt(res[0]);
			var NewTotal = roundDecimal(parseFloat(res[1]), 3);
			var NewTotalWithFrais = roundDecimal(parseFloat(res[2]), 3);
			
			var NewPrixTotalProduit = roundDecimal(NewQte * prixU, 3);
			
            // On récupére la nouvelle qte du produit pour l'afficher
			var elemQte = "qte_" + product_id;
			document.getElementById(elemQte).value = NewQte;
			
			// Rafraichissement TOTAL de la ligne PRODUIT
			var elemTotal = "total_" + product_id;
			document.getElementById(elemTotal).innerHTML = NewPrixTotalProduit + " €";
			
			document.getElementById("totalTTCPanier").innerHTML = NewTotal;
			document.getElementById("totalFraisPortPanier").innerHTML = roundDecimal(NewTotalWithFrais - NewTotal, 3);
			document.getElementById("totalTTCALL").innerHTML = NewTotalWithFrais;
        }
    }
 
	
	xhr.open("POST","classes/panier_qte_utils.php",true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

	// Ajout des arguments
    xhr.send("product_id="+product_id+"&action=DEC");
}

function roundDecimal(nombre, precision){
    var precision = precision || 2;
    var tmp = Math.pow(10, precision);
    return Math.round( nombre*tmp )/tmp;
}

// Fonction appelée dans la page du détail d'un produit pour modifier la quantité
function change_qte(product_id, action)
{
    var current_qte = document.getElementById('det_qte').value.trim();
    var xhr = new XMLHttpRequest();

	// On défini ce qu'on va faire quand on aura la réponse
    xhr.onreadystatechange = function () {

        // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
        if (xhr.readyState == 4 && xhr.status == 200) {

            rep = xhr.responseText;

            if (rep != "") {
                
                document.getElementById('det_qte').value = rep.trim();
            }
        }
    }
	
	xhr.open("POST","classes/qte_utils.php",true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');

	// Ajout des arguments
    xhr.send("product_id="+product_id+"&action="+action+"&current_qte="+current_qte);
}